Make the new merge_alter test indifferent to extra version info
authorOtto Kekäläinen <otto@debian.org>
Thu, 27 Nov 2025 00:49:24 +0000 (16:49 -0800)
committerOtto Kekäläinen <otto@debian.org>
Tue, 16 Dec 2025 04:00:00 +0000 (20:00 -0800)
Modify the test regex to accept any extra version info, just like it
accepts any server version info. The test is supposed to fail on actual
differences in behaviour and server info strings are intentionally
normalized and not regarded.

Without this modification, the test introduced in 9e8e215e would fail
in post-build MTR on "from Debian-log" and in autopkgtest on "from Debian":

    main.merge_alter                         w4 [ fail ]
            Test ended at 2025-11-26 22:41:38
    CURRENT_TEST: main.merge_alter
    /usr/share/mariadb/mariadb-test/main/merge_alter.result 2025-11-13 11:45:29.000000000 +0300
    /tmp/tmp.3vGjZWHA79/var/4/log/merge_alter.reject 2025-11-27 01:41:38.523996124 +0300
    @@ -10,7 +10,7 @@
     /*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
     DELIMITER /*!*/;
     # at #
    -#010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## created 010909  4:46:40 at startup
    +#010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Start: binlog v 4, server v #.##.## from Debian created 010909  4:46:40 at startup
     ROLLBACK/*!*/;
     # at #
     #010909  4:46:40 server id #  end_log_pos # CRC32 XXX  Gtid list []
    Result length mismatch

Forwarded: not-needed

Gbp-Pq: Name include-debian-in-test-merge-alter-result.patch

mysql-test/main/merge_alter.test

index 8094fd4e9f9abe4aa1d283515bbb1c4151bbfa00..fb0bc495704cc2ef29b0902f6022e93421042ce1 100644 (file)
@@ -14,7 +14,7 @@ insert into t values(1,1,1);
 
 flush logs;
 let $MYSQLD_DATADIR= `select @@datadir`;
---replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[a-zA-Z0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
+--replace_regex /server id [0-9]*/server id #/ /server v [^ ]*/server v #.##.##/ /## [a-zA-Z0-9- ]+ created/## created/ /exec_time=[0-9]*/exec_time=#/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /CRC32 0x[0-9a-f]*/CRC32 XXX/ /collation_server=[0-9]+/collation_server=X/ /character_set_client=[a-zA-Z0-9]+/character_set_client=X/ /collation_connection=[0-9]+/collation_connection=X/ /xid=\d*/xid=<xid>/
 --exec $MYSQL_BINLOG  --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
 
 drop table t,t3;